package com.example.tellwin.view;

import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;

import androidx.annotation.Nullable;

import com.example.tellwin.R;

/**
 * @author : LinZePeng
 * @date : 2020/11/16
 * @Describe ：
 **/
public class ContentTextView extends LinearLayout {

    private View view;
    private TextView text;
    private TextView tv;

    float textSize;
    float tvSize;
    int textColor;
    int tvColor;
    String textStr;
    String tvStr;

    public void setTvStr(String str){
        tvStr = str;
        if(tv!=null){
            tv.setText(tvStr);
        }
    }

    public ContentTextView(Context context) {
        super(context);
        initView();
    }

    public ContentTextView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        initArray(context ,attrs);
        initView();
    }

    public ContentTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        initArray(context ,attrs);
        initView();
    }

    private void initArray(Context context, @Nullable AttributeSet attrs){
        TypedArray tarray = context.obtainStyledAttributes(attrs, R.styleable.ContentTextView);
        try {
            textSize = tarray.getDimension(R.styleable.ContentTextView_contentTextSize, 0);
            tvSize = tarray.getDimension(R.styleable.ContentTextView_contentTvSize, 0);
            textColor = tarray.getResourceId(R.styleable.ContentTextView_contentTextColor, 0);
            tvColor = tarray.getResourceId(R.styleable.ContentTextView_contentTvColor, 0);
            textStr = tarray.getString(R.styleable.ContentTextView_contentText);
            tvStr = tarray.getString(R.styleable.ContentTextView_contentTv);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            tarray.recycle();
        }
    }

    private void initView() {
        view = LayoutInflater.from(getContext()).inflate(R.layout.content_text_view, this);
        text = view.findViewById(R.id.text);
        tv = view.findViewById(R.id.tv);
        if (textSize != 0) {
            text.setTextSize(TypedValue.COMPLEX_UNIT_PX,textSize);
        }
        if (tvSize != 0) {
            tv.setTextSize(TypedValue.COMPLEX_UNIT_PX,tvSize);
        }
        if (textColor != 0) {
            text.setTextColor(getResources().getColor(textColor));
        }
        if (tvColor != 0) {
            tv.setTextColor(getResources().getColor(tvColor));
        }
        if (textStr != null) {
            text.setText(textStr);
        }
        if (tvStr != null) {
            tv.setText(tvStr);
        }
    }
}
